<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // // 迭代器 可以调取 next方法
        let arr = ['张三', '李四', '王五']
        // 迭代对象是不能用entries的
        let iterator = arr[Symbol.iterator]();//这是一个迭代对象

        console.log(iterator.next())
        // console.log(iterator.next())
        // console.log(iterator.next())

        // 迭代对象不能用entries,values,keys
        // for 传入迭代对象会把对象迭代掉
        // for(let item of iterator){
        //     console.log(item);
        // }
        console.log(arr);
        let newArr = [...iterator]
        console.log(newArr);
        // // 通过generator来生成一个可迭代的对象
        // function *myiterator() {
        //     yield '张三';
        //     yield '李四';
        //     yield '王五';
        // }

        // let myarr = myiterator();// 生成的是迭代对象
        // // let myarr = ['张三','李四','王五']
        // // 注意next()改变原值的
        // // console.log(myarr);
        // // console.log(myarr.next());
        // // console.log(myarr.next());
        // // console.log(myarr.next());

        // // 这里调用也会给迭代掉
        // for (let val of myarr){
        //     console.log(val);
        // }

        // let arr = [...myarr,'王小二']
        // console.log(arr);

        // 迭代器内置:entries(拆分成单项) values keys
    </script>
</body>

</html>